import request from "@/utils/request";
import { praseStrEmpty } from "@/utils/ruoyi";

// 查询用户列表
export function listUser(query) {
  return request({
    url: "/plat/user/list",
    method: "get",
    params: query
  });
}

// 查询用户详细
export function getUser(userId) {
  return request({
    url: "/plat/user/get/" + userId,
    method: "get"
  });
}

// 新增用户
export function addUser(data) {
  return request({
    url: "/plat/user/add",
    method: "post",
    data: data
  });
}

// 修改用户
export function updateUser(data) {
  return request({
    url: "/plat/user/edit/" + data.userId,
    method: "post",
    data: data
  });
}

// 删除用户
export function delUser(userId) {
  return request({
    url: "/plat/user/delete/" + userId,
    method: "delete"
  });
}

// 用户密码重置
export function resetUserPwd(userId) {
  return request({
    url: "/plat/user/resetPassword",
    method: "post",
    params: { userId: userId }
  });
}

// 修改用户密码
export function changePassword(userId, data) {
  return request({
    url: "/plat/user/changePassword",
    method: "post",
    params: { userId: userId },
    data: data
  });
}

// 用户状态修改
export function changeUserStatus(userId, status) {
  const data = {
    userId,
    status
  };
  return request({
    url: "/system/user/changeStatus",
    method: "put",
    data: data
  });
}

// 查询用户个人信息
export function getUserProfile() {
  return request({
    url: "/system/user/profile",
    method: "get"
  });
}

// 修改用户个人信息
export function updateUserProfile(data) {
  return request({
    url: "/system/user/profile",
    method: "put",
    data: data
  });
}

// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
  const data = {
    oldPassword,
    newPassword
  };
  return request({
    url: "/system/user/profile/updatePwd",
    method: "put",
    params: data
  });
}

// 用户头像上传
export function uploadAvatar(data) {
  return request({
    url: "/system/user/profile/avatar",
    method: "post",
    data: data
  });
}

//分配角色
export function assignRoles(managerId, roleIds) {
  return request({
    url: `/plat/user/${managerId}/roles`,
    method: "post",
    data: roleIds
  });
}

// 下载用户导入模板
export function importTemplate() {
  return request({
    url: "/system/user/importTemplate",
    method: "get"
  });
}

export default {
  assignRoles
};
